$(function () {
    //需求1:渲染文章分类
    let layer = layui.layer;
    let form = layui.form;
    initArtCateList();
    function initArtCateList() {
        axios({
            method: "GET",
            url: "/my/article/cates",
        }).then((res) => {
            //判断
            //console.log(res.data);
            if (res.data.status) {
                return layer.msg(res.data.message);
            }
            //成功获取后,赋值渲染
            let arr = [`<option value="">请选择文章类别</option>`];
            res.data.data.forEach(function (ele) {
                arr.push(`
                <option value="${ele.Id}">${ele.name}</option>
                `);
            });
            //赋值
            let str = arr.join("");
            $("[name=cate_id]").empty().html(str);
            //form表单同步渲染
            form.render();
        });
    }

    //需求2:
    initEditor();

    //需求3：文章封面
    // 1. 初始化图片裁剪器
    let $image = $("#image");

    // 2. 裁剪选项
    let options = {
        aspectRatio: 400 / 280,
        preview: ".img-preview",
    };

    // 3. 初始化裁剪区域
    $image.cropper(options);

    //需求4:确定状态
    let state; //设置为全局变量
    $("#btnSave1").on("click", function () {
        state = "已发布";
    });
    $("#btnSave2").on("click", function () {
        state = "草稿";
    });
    //需求5:选择封面
    $("#chooseImage").on("click", function () {
        $("#file").click();
    });
    $("#file").on("change", function (e) {
        let file = e.target.files[0];
        if (file == undefined) {
            return layer.msg("请选择图片");

        } let newImgURL = URL.createObjectURL(file);
        $image
            .cropper('destroy')      // 销毁旧的裁剪区域
            .attr('src', newImgURL)  // 重新设置图片路径
            .cropper(options)        // 重新初始化裁剪区域
    });
    //表单提交
    $("#formPub").on("submit", function (e) {
        e.preventDefault();
        //更新form 表单.创建要给formdata 对象
        let fd = new FormData(this);

        //添加状态
        fd.append("state", state);
        //添加文件
        $image
            .cropper('getCroppedCanvas', { // 创建一个 Canvas 画布
                width: 400,
                height: 280
            })
            .toBlob(function (blob) {       // 将 Canvas 画布上的内容，转化为文件对象
                // 得到文件对象后，进行后续的操作
                fd.append('cover_img', blob)
                //console.log(...fd)

                // //上传文件 第一种方法 ajax 
                // let baseURL = 'http://api-breakingnews-web.itheima.net'
                // $.ajax({
                //     method: 'POST',
                //     url: baseURL + '/my/article/add',
                //     contentType: false,
                //     processData: false,
                //     data: fd,
                //     headers: {
                //         Authorization: localStorage.getItem('token'),
                //     },
                //     success: function (res) {
                //         console.log(res);
                //         layer.msg(res.message)
                //     }
                // })



                //第二种方式:axios
                axios({
                    method: 'POST',
                    url: '/my/article/add',
                    //底层没好友设置默认的编码
                    data: fd
                }).then(res => {
                    if (res.data.status != 0) {
                        return layer.msg(res.data.message)
                    }
                    //成功提示
                    //layer.msg(res.data.message)
                    console.log(res.data.message)

                    //跳转到文章列表
                    setTimeout(function () {
                        window.parent.document.querySelector('#art_list').click()
                    }, 1500)
                })
            });

    });
});
